/**
 * API 接口配置 - 使用 http.js 封装
 */
import http from '../http.js';

// ==================== 用户认证相关 ====================

/**
 * 用户登录
 * @param {string} username - 用户名/学号
 * @param {string} password - 密码
 * @param {string} userType - 用户类型 (1=学生)
 */
export function login(username, password, userType = '1') {
  return http({
    url: '/api/user/login',  // 添加 /api 前缀
    method: 'POST',
    data: { username, password, userType },
    needAuth: false // 登录接口不需要认证
  });
}

/**
 * 检查登录状态
 */
export function checkLoginStatus() {
  return http({
    url: '/user/login/status',
    method: 'GET'
  });
}

// ==================== 选课相关 ====================

/**
 * 获取可选课程列表（分页）
 * @param {number} page - 页码，从1开始
 */
export function getCourseSelectList(page = 1) {
  return http({
    url: `/api/student/course/select/page/${page}`,
    method: 'GET'
  });
}

/**
 * 选择课程
 * @param {number} courseId - 课程ID
 */
export function selectCourse(courseId) {
  return http({
    url: `/api/student/course/select/${courseId}`,
    method: 'POST'
  });
}

// ==================== 我的课程相关 ====================

/**
 * 获取已选课程列表
 */
export function getMyCourseList() {
  return http({
    url: '/api/student/course/list',
    method: 'GET'
  });
}

/**
 * 退选课程
 * @param {number} courseId - 课程ID（实际是 studentCourseId）
 */
export function dropCourse(courseId) {
  return http({
    url: `/api/student/course/${courseId}`,
    method: 'DELETE'
  });
}

// ==================== 课程表相关 ====================

/**
 * 获取学生课程表
 */
export function getTimetable() {
  return http({
    url: '/api/student/timetable',
    method: 'GET'
  });
}

// ==================== 个人信息相关 ====================

/**
 * 获取学生个人信息
 */
export function getStudentInfo() {
  return http({
    url: '/api/student/info',
    method: 'GET'
  });
}

/**
 * 更新学生个人信息
 * @param {Object} data - 更新的数据
 */
export function updateStudentInfo(data) {
  return http({
    url: '/api/student/info',
    method: 'PUT',
    data: data
  });
}
